<template>
	<view>
		<!-- 日期选择器 -->
		<picker mode="date" :value="date" @change="onDateChange">
			<view class="picker">
				{{ formatDate(date) }}
			</view>
		</picker>

		<!-- 时间选择器 -->
		<picker mode="time" :value="time" @change="onTimeChange">
			<view class="picker">
				{{ formatTime(time) }}
			</view>
		</picker>

		<!-- 合并显示的日期和时间 -->
		<view class="datetime">
			{{ formatCombinedDateTime(date, time) }}
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				date: new Date().getTime(), // 初始日期，时间戳格式
				time: '12:00' // 初始时间，字符串格式（但内部处理时会转换为分钟数）
			};
		},
		methods: {
			onDateChange(e) {
				this.date = e.detail.value; // 更新日期
				this.$emit('prizetime', this.formatCombinedDateTime(this.date, this.time))
			},
			onTimeChange(e) {
				// 注意：timePicker返回的是分钟数，但这里我们暂时用字符串格式存储
				// 如果需要转换为分钟数进行内部处理，可以在此处转换
				// 但为了简化示例，我们直接使用字符串格式
				this.time = e.detail.value;

				this.$emit('prizetime', this.formatCombinedDateTime(this.date, this.time))
			},
			formatDate(timestamp) {
				const date = new Date(timestamp);
				const year = date.getFullYear();
				const month = (date.getMonth() + 1).toString().padStart(2, '0');
				const day = date.getDate().toString().padStart(2, '0');
				return `${year}-${month}-${day}`;
			},
			formatTime(timeString) {
				// 这里假设time已经是"HH:mm"格式，直接返回
				return timeString;
			},

			formatCombinedDateTime(dateTimestamp, timeString) {
				// 合并日期和时间字符串
				const date = new Date(dateTimestamp);
				const year = date.getFullYear();
				const month = (date.getMonth() + 1).toString().padStart(2, '0');
				const day = date.getDate().toString().padStart(2, '0');
				return `${year}-${month}-${day} ${timeString}`;
			}
		}
	};
</script>

<style scoped>
	.picker {
		padding: 20px;
		margin-bottom: 10px;
		background-color: #fff;
		border: 1px solid #ddd;
		border-radius: 4px;
		text-align: center;
	}

	.datetime {
		padding: 20px;
		background-color: #f9f9f9;
		border: 1px solid #ddd;
		border-radius: 4px;
		text-align: center;
		font-size: 16px;
	}
</style>